Computer programs may execute in a non-deterministic manner on a multicore processor. Multiprocessor trace tools may attempt to record the access order of shared memory load and store operations executed by the various cores. To the extent that multiprocessor trace tools assume instruction atomicity, a 1:1 correspondence between program instructions and core-level operations, sometimes referred to herein as atomic operations, atomic ops, atoms, or operations, the presence of complex program instructions, in which a single program instruction decodes into two or more atomic operations, presents a challenge.